package com.shopowner.entity;

import java.util.ArrayList;
import java.util.List;

public class StoreExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public StoreExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andStnoIsNull() {
            addCriterion("stno is null");
            return (Criteria) this;
        }

        public Criteria andStnoIsNotNull() {
            addCriterion("stno is not null");
            return (Criteria) this;
        }

        public Criteria andStnoEqualTo(String value) {
            addCriterion("stno =", value, "stno");
            return (Criteria) this;
        }

        public Criteria andStnoNotEqualTo(String value) {
            addCriterion("stno <>", value, "stno");
            return (Criteria) this;
        }

        public Criteria andStnoGreaterThan(String value) {
            addCriterion("stno >", value, "stno");
            return (Criteria) this;
        }

        public Criteria andStnoGreaterThanOrEqualTo(String value) {
            addCriterion("stno >=", value, "stno");
            return (Criteria) this;
        }

        public Criteria andStnoLessThan(String value) {
            addCriterion("stno <", value, "stno");
            return (Criteria) this;
        }

        public Criteria andStnoLessThanOrEqualTo(String value) {
            addCriterion("stno <=", value, "stno");
            return (Criteria) this;
        }

        public Criteria andStnoLike(String value) {
            addCriterion("stno like", value, "stno");
            return (Criteria) this;
        }

        public Criteria andStnoNotLike(String value) {
            addCriterion("stno not like", value, "stno");
            return (Criteria) this;
        }

        public Criteria andStnoIn(List<String> values) {
            addCriterion("stno in", values, "stno");
            return (Criteria) this;
        }

        public Criteria andStnoNotIn(List<String> values) {
            addCriterion("stno not in", values, "stno");
            return (Criteria) this;
        }

        public Criteria andStnoBetween(String value1, String value2) {
            addCriterion("stno between", value1, value2, "stno");
            return (Criteria) this;
        }

        public Criteria andStnoNotBetween(String value1, String value2) {
            addCriterion("stno not between", value1, value2, "stno");
            return (Criteria) this;
        }

        public Criteria andStnameIsNull() {
            addCriterion("stName is null");
            return (Criteria) this;
        }

        public Criteria andStnameIsNotNull() {
            addCriterion("stName is not null");
            return (Criteria) this;
        }

        public Criteria andStnameEqualTo(String value) {
            addCriterion("stName =", value, "stname");
            return (Criteria) this;
        }

        public Criteria andStnameNotEqualTo(String value) {
            addCriterion("stName <>", value, "stname");
            return (Criteria) this;
        }

        public Criteria andStnameGreaterThan(String value) {
            addCriterion("stName >", value, "stname");
            return (Criteria) this;
        }

        public Criteria andStnameGreaterThanOrEqualTo(String value) {
            addCriterion("stName >=", value, "stname");
            return (Criteria) this;
        }

        public Criteria andStnameLessThan(String value) {
            addCriterion("stName <", value, "stname");
            return (Criteria) this;
        }

        public Criteria andStnameLessThanOrEqualTo(String value) {
            addCriterion("stName <=", value, "stname");
            return (Criteria) this;
        }

        public Criteria andStnameLike(String value) {
            addCriterion("stName like", value, "stname");
            return (Criteria) this;
        }

        public Criteria andStnameNotLike(String value) {
            addCriterion("stName not like", value, "stname");
            return (Criteria) this;
        }

        public Criteria andStnameIn(List<String> values) {
            addCriterion("stName in", values, "stname");
            return (Criteria) this;
        }

        public Criteria andStnameNotIn(List<String> values) {
            addCriterion("stName not in", values, "stname");
            return (Criteria) this;
        }

        public Criteria andStnameBetween(String value1, String value2) {
            addCriterion("stName between", value1, value2, "stname");
            return (Criteria) this;
        }

        public Criteria andStnameNotBetween(String value1, String value2) {
            addCriterion("stName not between", value1, value2, "stname");
            return (Criteria) this;
        }

        public Criteria andStimgIsNull() {
            addCriterion("stImg is null");
            return (Criteria) this;
        }

        public Criteria andStimgIsNotNull() {
            addCriterion("stImg is not null");
            return (Criteria) this;
        }

        public Criteria andStimgEqualTo(String value) {
            addCriterion("stImg =", value, "stimg");
            return (Criteria) this;
        }

        public Criteria andStimgNotEqualTo(String value) {
            addCriterion("stImg <>", value, "stimg");
            return (Criteria) this;
        }

        public Criteria andStimgGreaterThan(String value) {
            addCriterion("stImg >", value, "stimg");
            return (Criteria) this;
        }

        public Criteria andStimgGreaterThanOrEqualTo(String value) {
            addCriterion("stImg >=", value, "stimg");
            return (Criteria) this;
        }

        public Criteria andStimgLessThan(String value) {
            addCriterion("stImg <", value, "stimg");
            return (Criteria) this;
        }

        public Criteria andStimgLessThanOrEqualTo(String value) {
            addCriterion("stImg <=", value, "stimg");
            return (Criteria) this;
        }

        public Criteria andStimgLike(String value) {
            addCriterion("stImg like", value, "stimg");
            return (Criteria) this;
        }

        public Criteria andStimgNotLike(String value) {
            addCriterion("stImg not like", value, "stimg");
            return (Criteria) this;
        }

        public Criteria andStimgIn(List<String> values) {
            addCriterion("stImg in", values, "stimg");
            return (Criteria) this;
        }

        public Criteria andStimgNotIn(List<String> values) {
            addCriterion("stImg not in", values, "stimg");
            return (Criteria) this;
        }

        public Criteria andStimgBetween(String value1, String value2) {
            addCriterion("stImg between", value1, value2, "stimg");
            return (Criteria) this;
        }

        public Criteria andStimgNotBetween(String value1, String value2) {
            addCriterion("stImg not between", value1, value2, "stimg");
            return (Criteria) this;
        }

        public Criteria andStphoneIsNull() {
            addCriterion("stPhone is null");
            return (Criteria) this;
        }

        public Criteria andStphoneIsNotNull() {
            addCriterion("stPhone is not null");
            return (Criteria) this;
        }

        public Criteria andStphoneEqualTo(String value) {
            addCriterion("stPhone =", value, "stphone");
            return (Criteria) this;
        }

        public Criteria andStphoneNotEqualTo(String value) {
            addCriterion("stPhone <>", value, "stphone");
            return (Criteria) this;
        }

        public Criteria andStphoneGreaterThan(String value) {
            addCriterion("stPhone >", value, "stphone");
            return (Criteria) this;
        }

        public Criteria andStphoneGreaterThanOrEqualTo(String value) {
            addCriterion("stPhone >=", value, "stphone");
            return (Criteria) this;
        }

        public Criteria andStphoneLessThan(String value) {
            addCriterion("stPhone <", value, "stphone");
            return (Criteria) this;
        }

        public Criteria andStphoneLessThanOrEqualTo(String value) {
            addCriterion("stPhone <=", value, "stphone");
            return (Criteria) this;
        }

        public Criteria andStphoneLike(String value) {
            addCriterion("stPhone like", value, "stphone");
            return (Criteria) this;
        }

        public Criteria andStphoneNotLike(String value) {
            addCriterion("stPhone not like", value, "stphone");
            return (Criteria) this;
        }

        public Criteria andStphoneIn(List<String> values) {
            addCriterion("stPhone in", values, "stphone");
            return (Criteria) this;
        }

        public Criteria andStphoneNotIn(List<String> values) {
            addCriterion("stPhone not in", values, "stphone");
            return (Criteria) this;
        }

        public Criteria andStphoneBetween(String value1, String value2) {
            addCriterion("stPhone between", value1, value2, "stphone");
            return (Criteria) this;
        }

        public Criteria andStphoneNotBetween(String value1, String value2) {
            addCriterion("stPhone not between", value1, value2, "stphone");
            return (Criteria) this;
        }

        public Criteria andStemailIsNull() {
            addCriterion("stEmail is null");
            return (Criteria) this;
        }

        public Criteria andStemailIsNotNull() {
            addCriterion("stEmail is not null");
            return (Criteria) this;
        }

        public Criteria andStemailEqualTo(String value) {
            addCriterion("stEmail =", value, "stemail");
            return (Criteria) this;
        }

        public Criteria andStemailNotEqualTo(String value) {
            addCriterion("stEmail <>", value, "stemail");
            return (Criteria) this;
        }

        public Criteria andStemailGreaterThan(String value) {
            addCriterion("stEmail >", value, "stemail");
            return (Criteria) this;
        }

        public Criteria andStemailGreaterThanOrEqualTo(String value) {
            addCriterion("stEmail >=", value, "stemail");
            return (Criteria) this;
        }

        public Criteria andStemailLessThan(String value) {
            addCriterion("stEmail <", value, "stemail");
            return (Criteria) this;
        }

        public Criteria andStemailLessThanOrEqualTo(String value) {
            addCriterion("stEmail <=", value, "stemail");
            return (Criteria) this;
        }

        public Criteria andStemailLike(String value) {
            addCriterion("stEmail like", value, "stemail");
            return (Criteria) this;
        }

        public Criteria andStemailNotLike(String value) {
            addCriterion("stEmail not like", value, "stemail");
            return (Criteria) this;
        }

        public Criteria andStemailIn(List<String> values) {
            addCriterion("stEmail in", values, "stemail");
            return (Criteria) this;
        }

        public Criteria andStemailNotIn(List<String> values) {
            addCriterion("stEmail not in", values, "stemail");
            return (Criteria) this;
        }

        public Criteria andStemailBetween(String value1, String value2) {
            addCriterion("stEmail between", value1, value2, "stemail");
            return (Criteria) this;
        }

        public Criteria andStemailNotBetween(String value1, String value2) {
            addCriterion("stEmail not between", value1, value2, "stemail");
            return (Criteria) this;
        }

        public Criteria andStaddressIsNull() {
            addCriterion("staddress is null");
            return (Criteria) this;
        }

        public Criteria andStaddressIsNotNull() {
            addCriterion("staddress is not null");
            return (Criteria) this;
        }

        public Criteria andStaddressEqualTo(String value) {
            addCriterion("staddress =", value, "staddress");
            return (Criteria) this;
        }

        public Criteria andStaddressNotEqualTo(String value) {
            addCriterion("staddress <>", value, "staddress");
            return (Criteria) this;
        }

        public Criteria andStaddressGreaterThan(String value) {
            addCriterion("staddress >", value, "staddress");
            return (Criteria) this;
        }

        public Criteria andStaddressGreaterThanOrEqualTo(String value) {
            addCriterion("staddress >=", value, "staddress");
            return (Criteria) this;
        }

        public Criteria andStaddressLessThan(String value) {
            addCriterion("staddress <", value, "staddress");
            return (Criteria) this;
        }

        public Criteria andStaddressLessThanOrEqualTo(String value) {
            addCriterion("staddress <=", value, "staddress");
            return (Criteria) this;
        }

        public Criteria andStaddressLike(String value) {
            addCriterion("staddress like", value, "staddress");
            return (Criteria) this;
        }

        public Criteria andStaddressNotLike(String value) {
            addCriterion("staddress not like", value, "staddress");
            return (Criteria) this;
        }

        public Criteria andStaddressIn(List<String> values) {
            addCriterion("staddress in", values, "staddress");
            return (Criteria) this;
        }

        public Criteria andStaddressNotIn(List<String> values) {
            addCriterion("staddress not in", values, "staddress");
            return (Criteria) this;
        }

        public Criteria andStaddressBetween(String value1, String value2) {
            addCriterion("staddress between", value1, value2, "staddress");
            return (Criteria) this;
        }

        public Criteria andStaddressNotBetween(String value1, String value2) {
            addCriterion("staddress not between", value1, value2, "staddress");
            return (Criteria) this;
        }

        public Criteria andStstateIsNull() {
            addCriterion("stState is null");
            return (Criteria) this;
        }

        public Criteria andStstateIsNotNull() {
            addCriterion("stState is not null");
            return (Criteria) this;
        }

        public Criteria andStstateEqualTo(String value) {
            addCriterion("stState =", value, "ststate");
            return (Criteria) this;
        }

        public Criteria andStstateNotEqualTo(String value) {
            addCriterion("stState <>", value, "ststate");
            return (Criteria) this;
        }

        public Criteria andStstateGreaterThan(String value) {
            addCriterion("stState >", value, "ststate");
            return (Criteria) this;
        }

        public Criteria andStstateGreaterThanOrEqualTo(String value) {
            addCriterion("stState >=", value, "ststate");
            return (Criteria) this;
        }

        public Criteria andStstateLessThan(String value) {
            addCriterion("stState <", value, "ststate");
            return (Criteria) this;
        }

        public Criteria andStstateLessThanOrEqualTo(String value) {
            addCriterion("stState <=", value, "ststate");
            return (Criteria) this;
        }

        public Criteria andStstateLike(String value) {
            addCriterion("stState like", value, "ststate");
            return (Criteria) this;
        }

        public Criteria andStstateNotLike(String value) {
            addCriterion("stState not like", value, "ststate");
            return (Criteria) this;
        }

        public Criteria andStstateIn(List<String> values) {
            addCriterion("stState in", values, "ststate");
            return (Criteria) this;
        }

        public Criteria andStstateNotIn(List<String> values) {
            addCriterion("stState not in", values, "ststate");
            return (Criteria) this;
        }

        public Criteria andStstateBetween(String value1, String value2) {
            addCriterion("stState between", value1, value2, "ststate");
            return (Criteria) this;
        }

        public Criteria andStstateNotBetween(String value1, String value2) {
            addCriterion("stState not between", value1, value2, "ststate");
            return (Criteria) this;
        }

        public Criteria andStdescIsNull() {
            addCriterion("stDesc is null");
            return (Criteria) this;
        }

        public Criteria andStdescIsNotNull() {
            addCriterion("stDesc is not null");
            return (Criteria) this;
        }

        public Criteria andStdescEqualTo(String value) {
            addCriterion("stDesc =", value, "stdesc");
            return (Criteria) this;
        }

        public Criteria andStdescNotEqualTo(String value) {
            addCriterion("stDesc <>", value, "stdesc");
            return (Criteria) this;
        }

        public Criteria andStdescGreaterThan(String value) {
            addCriterion("stDesc >", value, "stdesc");
            return (Criteria) this;
        }

        public Criteria andStdescGreaterThanOrEqualTo(String value) {
            addCriterion("stDesc >=", value, "stdesc");
            return (Criteria) this;
        }

        public Criteria andStdescLessThan(String value) {
            addCriterion("stDesc <", value, "stdesc");
            return (Criteria) this;
        }

        public Criteria andStdescLessThanOrEqualTo(String value) {
            addCriterion("stDesc <=", value, "stdesc");
            return (Criteria) this;
        }

        public Criteria andStdescLike(String value) {
            addCriterion("stDesc like", value, "stdesc");
            return (Criteria) this;
        }

        public Criteria andStdescNotLike(String value) {
            addCriterion("stDesc not like", value, "stdesc");
            return (Criteria) this;
        }

        public Criteria andStdescIn(List<String> values) {
            addCriterion("stDesc in", values, "stdesc");
            return (Criteria) this;
        }

        public Criteria andStdescNotIn(List<String> values) {
            addCriterion("stDesc not in", values, "stdesc");
            return (Criteria) this;
        }

        public Criteria andStdescBetween(String value1, String value2) {
            addCriterion("stDesc between", value1, value2, "stdesc");
            return (Criteria) this;
        }

        public Criteria andStdescNotBetween(String value1, String value2) {
            addCriterion("stDesc not between", value1, value2, "stdesc");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}